import { IPSRawItemParam } from './ipsraw-item-param';
import { IPSSysCss } from '../res/ipssys-css';
import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * 子接口类型识别属性[contentType]
 * @export
 * @interface IPSRawItemBase
 */
export interface IPSRawItemBase extends IPSModelObject {
  /**
   * 内容类型
   * @type {string}
   */
  contentType: string;

  /**
   * 直接Css样式
   * @type {string}
   */
  cssStyle: string;

  /**
   * 动态样式表
   * @type {string}
   */
  dynaClass: string;

  /**
   * 直接内容项参数集合
   *
   * @type {IPSRawItemParam[]}
   */
  getPSRawItemParams(): IPSRawItemParam[] | null;

  findPSRawItemParam(objKey: any): IPSRawItemParam | null;

  /**
   * 系统样式表
   *
   * @type {IPSSysCss}
   */
  getPSSysCss(): IPSSysCss | null;

  /**
   * 预置类型
   * @type {string}
   */
  predefinedType: string;

  /**
   * 内容高度
   * @type {number}
   * @default 0.0
   */
  rawItemHeight: number;

  /**
   * 内容宽度
   * @type {number}
   * @default 0.0
   */
  rawItemWidth: number;

  /**
   * 模板模式
   * @type {boolean}
   * @default false
   */
  templateMode: boolean;
}
